/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package parismetro;

import javafx.scene.image.ImageView;
import javafx.scene.image.Image;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.CustomNode;
import javafx.scene.paint.Color;
import javafx.scene.input.MouseEvent;
import modele.TplusTicket;
import javafx.scene.CacheHint;

/**
 * @author Hadrien
 */
public class Accueil extends CustomNode {

    var group: Group;
    public var main: Main;
    def backGround = ImageView {
                image: Image { url: "{__DIR__}icons/back_2-1.png" }
            //layoutX:0
            //layoutY:0
            }
    /*def ticket_t = ImageView {
                image: Image { url: "{__DIR__}icons/ticket-t+.png" }
                layoutX: 620;
                layoutY: 100;
                //effect: shadow;
                onMousePressed: function(e: MouseEvent): Void {
                    var t:TplusTicket = TplusTicket{orderList:main.orderList};
                    main.orderList.addOrder(TplusTicket{});
                    main.changeContent("tplus");
                }
            }*/

    def ticket_t = ButtonInfo {
                layoutX: 620;
                layoutY: 100;
                coul: Color.rgb(63,169,245);
                texte: "Ticket T+"
                action:function(e: MouseEvent): Void {
                    main.logger.addEvent("accueil", "btnTplus", "tplus");
                    var t:TplusTicket = TplusTicket{orderList:main.orderList};
                    main.orderList.addOrder(t);
                    main.optionEcran.previousStep = "accueil";
                    main.changeContent("tplus");
                }
                actionInfo:function(e: MouseEvent): Void {
                    main.logger.addEvent("accueil", "btnTplusInfo", "dialog");
                    main.dialog.titre = "Information sur le Ticket T+";
                    main.dialog.corps = "Le ticket t+ permet de réaliser un voyage sur :\n    les lignes du métro\n    les lignes RER (RATP et SNCF) dans Paris (zone 1)\n    les lignes de bus d'Île-de-France (RATP et OPTILE), sauf Orlybus et Roissybus\n    les lignes de tramway (RATP et SNCF)\n    le funiculaire de Montmartre\n"
                    "\nDans ce cadre, les correspondances suivantes sont possibles :\n    métro/métro\n    métro/RER et RER/RER dans Paris\n    bus/bus (y compris entre les réseaux RATP et OPTILE), bus/tram et tram/tram pendant 1h30 entre la 1ère et la dernière validation\n"
                    "\nAttention : les correspondances métro/bus, métro/tram, RER/bus, RER/tram avec le même ticket t+ ne sont pas possibles.";
                    main.dialog.largeur = 800;
                    main.dialog.hauteur = 500;
                    main.dialog.afficher = true;
                }
    }

    def ticket_rer = ButtonInfo {
                layoutX: 710;
                layoutY: 320;
                largeur: 300;
                coul: Color.rgb(115,206,102);
                texte: "Ticket RER"
                action:function(e: MouseEvent): Void{
                    main.logger.addEvent("accueil", "btnRer", "rer");
                    main.optionEcran.previousStep = "accueil";
                    main.changeContent("rer");
                }
                actionInfo:function(e: MouseEvent): Void {
                    main.logger.addEvent("accueil", "btnRerInfo", "dialog");
                    main.dialog.titre = "Information sur le Ticket RER";
                    main.dialog.corps = "Toute personne effectuant des déplacements occasionnels sur le réseau "
                    "ferré d'Ile-de-France : RER (RATP/SNCF) et trains de banlieue SNCF. "
                    "Le billet IDF peut être acheté dans la gare ou la station de métro de "
                    "départ ou d'arrivée. Il est utilisable au choix dans le sens aller ou dans "
                    "le sens retour. Le coût de ce billet est variable selon son origine (gare de "
                    "départ) et sa destination (gare d'arrivée). Son prix n'est pas lié aux zones, "
                    "celles-ci étant réservées aux forfaits de transport."
                    "Les billets à destination ou au départ de Paris permettent d'utiliser aussi bien le "
                    "train que le RER sur le trajet indiqué, plus le métro (la station de métro empruntée "  
                    "doit être en correspondance avec la gare d'arrivée ou de départ du parcours du RER ou du train). ";
                    main.dialog.largeur = 700;
                    main.dialog.hauteur = 400;
                    main.dialog.afficher = true;
                }
    }

    def ticket_air = ButtonInfo {
                layoutX: 700;
                layoutY: 550;
                largeur: 300;
                coul: Color.rgb(255,29,37);
                texte: "Aéroports"
                action:function(e: MouseEvent): Void {
                    main.logger.addEvent("accueil", "btnAeroports", "aeroports");
                    main.optionEcran.previousStep = "accueil";
                    main.changeContent("aeroports");
                }
                actionInfo:function(e: MouseEvent): Void {
                    main.logger.addEvent("accueil", "btnAeroportsInfo", "dialog");
                    main.dialog.titre = "Information sur les aéroports";
                    main.dialog.corps = "L'aéroport d'Orly, deuxième plate-forme aéroportuaire de France, est situé à 14 kilomètres au Sud Est de Paris."
                    "\n\nL'aéroport de Roissy Charles-de-Gaulle, premier aéroport français, est situé à 27 kilomètres au Nord Est de Paris."
                    "\n\nPour avoir plus d'information aller dans le menu Aéroports.";
                    main.dialog.largeur = 500;
                    main.dialog.hauteur = 300;
                    main.dialog.afficher = true;
                }
    }
    def ticket_other = ButtonInfo {
                layoutX: 375;
                layoutY: 620;
                largeur: 300;
                coul: Color.rgb(255,228,1);
                texte: "Ticket\nSpéciaux"
                action:function(e: MouseEvent): Void {
                    main.logger.addEvent("accueil", "btnSpeciaux", "speciaux");
                    main.optionEcran.previousStep = "accueil";
                    main.changeContent("speciaux");
                }
                actionInfo:function(e: MouseEvent): Void {
                    main.logger.addEvent("accueil", "btnSpeciauxInfo", "dialog");
                    main.dialog.titre = "Information sur les autres tickets en vente.";
                    main.dialog.corps = "Les autres tickets disponibles sont :"
                    "\n\n-Paris Visite est un forfait valable 1, 2, 3 ou 5 jours consécutifs sur les zones 1 à 3 ou 1 à 6 (Attention : la journée commence à 5h30 et se termine à 5h30 le lendemain)."
                    "\n\n-Mobilis est un seul ticket pour voyager toute la journée sur plusieurs modes de transport. Il se compose d'un coupon valable une journée dans les zones : 1 et 2, 1 à 3, 1 à 4, 1 à 5, 1 à 6."
                    "\n\n-Le Ticket Jeunes Week-end est un forfait journalier, réservé aux moins de 26 ans, valable soit le samedi, soit le dimanche, soit un jour férié. Le Ticket Jeunes Week-end autorise un nombre illimité de voyages dans les zones de votre choix : 1 à 3 - 1 à 5 - 1 à 6 ou 3 à 6. Il permet de voyager sur les lignes de la RATP, de la SNCF Ile-de-France et sur les réseaux OPTILE."
                    "\n\n-Le Bon pour un Pass Navigo Découverte permet de retirer un passe navigo dans un des guichets RATP sur présentation du billet délivré par l'automate."
                    "\n\nPour plus d'information aller dans le menu Autre...";
                    main.dialog.largeur = 800;
                    main.dialog.hauteur = 500;
                    main.dialog.afficher = true;
                }
    }
    def navigo = ImageView {
                image: Image { url: "{__DIR__}icons/navigo.png" }
                layoutX: 5;
                layoutY: 3;
                onMousePressed: function(e: MouseEvent): Void {
                    main.dialog.titre = "En construction";
                    main.dialog.corps = "Navigo est une carte magnétique qui permet de ... Et quia Mesopotamiae tractus omnes crebro inquietari sueti praetenturis et stationibus servabantur agrariis, laevorsum flexo itinere Osdroenae subsederat extimas partes, novum parumque aliquando temptatum commentum adgressus. quod si impetrasset, fulminis modo cuncta vastarat. erat autem quod cogitabat huius modi.";
                    main.dialog.afficher = true;
                }
            }
    def cadre_dest_freq = CadreDestFreq {
                layoutX: 10;
                layoutY: 175;
                dest1:"Massy-Palaiseau"
                dest2:"Gif-sur-Yvette"
                accueil:this
            }
    def wizard_icon = ImageView {
                image: Image { url: "{__DIR__}icons/wizard.png" }
                layoutX: 10;
                layoutY: 420;
                //effect: shadow;
            }
    def interrog = ImageView {
                image: Image { url: "{__DIR__}icons/interrog.png" }
                layoutX: 235;
                layoutY: 395;
                //effect: shadow;
     }

    override public function create(): Node {
        group = Group { content: [
                        backGround, ticket_t, ticket_rer, ticket_air, ticket_other, navigo, cadre_dest_freq, //interrog, wizzard_icon
                    ]
                    cache:true;
                    cacheHint: CacheHint.SPEED;
                }

        return group;
    }

}
